-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
semconv: generate metrics specs #764
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should AttributeSpec
and friends be outside of the metrics directory? it seems like it might be useful to generate these for tracing as well
|
||
import org.typelevel.otel4s.AttributeKey | ||
|
||
sealed trait AttributeSpec[A] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs here wouldn't be amiss
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
531d46a
to
62bd7f0
Compare
A question not directly related to this PR, but more how to deal with not stable semconv: What is about the |
Here is some context: https://opentelemetry.io/docs/specs/otel/versioning-and-stability/. OpenTelemetry marks each semantic either as
We try to follow the same approach, we define two artifacts:
I would say no. Since generated metrics are public and there can be breaking changes between releases, But to make life easier, I would do the following:
That's the most realistic scenario, I believe. |
That makes sense. Currently, Once we implement tracing generators, we can move them to some kind of a common package. |
Thats sound like a very sensible approach. Thanks! |
1fe8896
to
97b6370
Compare
97b6370
to
1249d90
Compare
This one is rather interesting. Since we depend on semantic conventions, we can generate all necessary instruments immediately.
The generated objects provide:
Use cases
Semantic testing
Libraries (e.g. http4s-otel4s, skunk) can use
otel4s-semconv-metrics-experimental
to test the implementation:Implement metrics
Libraries can use
otel4s-semconv-metrics
to implementation the metrics:The only problem is that only a few metrics are stable, so it's not very useful right now.